/**
 * 原型模式
 * <p>
 * 1、浅拷贝
 * 实则两个对象指向的是同一个堆内存地址
 * <p>
 * 2、深拷贝
 * 实则两个对象指向的是不同的堆内存地址了
 * 2.1 对于引用类型，数组或对象，deep clone会重新新建一份空间，拷贝里面的内容，实则指向了不同的内存地址。改变其中一个，不会对另外一个也产生影响。
 * 2.2 对于有多层对象的，每个对象都需要实现 Cloneable 并重写 clone() 方法，进而实现了对象的串行层层拷贝。
 * <p>
 * 3、实现方式:
 * 3.1 clone()
 * 3.2 序列化
 *
 * @author maoyz0621 on 19-10-23
 * @version v1.0
 */
package com.myz.design.prototype;